package org.jeecg.modules.scm.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * 融资申请银行放款，资金方关联关系报文
 * @author prb
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="银行放款实体类", description="BankLendingDto")
public class BankLendingDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**申请号*/
    @ApiModelProperty(value = "申请号")
    private Integer applyNo;

    /**Id*/
    @Excel(name = "Id", width = 15)
    @ApiModelProperty(value = "Id")
    @TableId(type = IdType.AUTO)
    private java.lang.Integer id;

    /**资金方Id*/
    @Excel(name = "资金方Id", width = 15)
    @ApiModelProperty(value = "资金方Id")
    private java.lang.Integer investorId;
    /**项目ID*/
    @Excel(name = "项目ID", width = 15)
    @ApiModelProperty(value = "项目ID")
    private java.lang.Integer itemId;
    /**客户号*/
    @Excel(name = "客户号", width = 15)
    @ApiModelProperty(value = "客户号")
    private java.lang.Integer cusNo;
    /**月规模限额*/
    @Excel(name = "月规模限额", width = 15)
    @ApiModelProperty(value = "月规模限额")
    private java.math.BigDecimal monthScaleLimit;
    /**单笔规模限额*/
    @Excel(name = "单笔规模限额", width = 15)
    @ApiModelProperty(value = "单笔规模限额")
    private java.math.BigDecimal singleScaleLimit;
    /**	已使用规模*/
    @Excel(name = "	已使用规模", width = 15)
    @ApiModelProperty(value = "	已使用规模")
    private java.math.BigDecimal usedScale;
    /**授信额度*/
    @Excel(name = "授信额度", width = 15)
    @ApiModelProperty(value = "授信额度")
    private java.math.BigDecimal creditLine;
    /**已占用额度*/
    @Excel(name = "已占用额度", width = 15)
    @ApiModelProperty(value = "已占用额度")
    private java.math.BigDecimal occupiedQuota;
    /**预占用额度*/
    @Excel(name = "预占用额度", width = 15)
    @ApiModelProperty(value = "预占用额度")
    private java.math.BigDecimal preOccupiedQuota;
    /**可用额度*/
    @Excel(name = "可用额度", width = 15)
    @ApiModelProperty(value = "可用额度")
    private java.math.BigDecimal availableCredit;
    /**授信开始日*/
    @Excel(name = "授信开始日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "授信开始日")
    private java.util.Date creditStartTime;
    /**授信到期日*/
    @Excel(name = "授信到期日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "授信到期日")
    private java.util.Date creditEndTime;
    /**单笔融资限额*/
    @Excel(name = "单笔融资限额", width = 15)
    @ApiModelProperty(value = "单笔融资限额")
    private java.math.BigDecimal singleFinLimit;
    /**单笔融资最小期限*/
    @Excel(name = "单笔融资最小期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最小期限")
    private java.util.Date singleFinMinTime;
    /**单笔融资最大期限*/
    @Excel(name = "单笔融资最大期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最大期限")
    private java.util.Date singleFinMaxTime;
    /**基准利率*/
    @Excel(name = "基准利率", width = 15)
    @ApiModelProperty(value = "基准利率")
    private java.math.BigDecimal baseInterestRate;
    /**浮动点数*/
    @Excel(name = "浮动点数", width = 15)
    @ApiModelProperty(value = "浮动点数")
    private java.lang.Integer floatingPoint;
    /**逾期浮动点数*/
    @Excel(name = "逾期浮动点数", width = 15)
    @ApiModelProperty(value = "逾期浮动点数")
    private java.math.BigDecimal overdueFloatingPoint;
    /**利率开始日*/
    @Excel(name = "利率开始日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "利率开始日")
    private java.util.Date rateStartTime;
    /**利率结束日*/
    @Excel(name = "利率结束日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "利率结束日")
    private java.util.Date rateEndTime;
    /**状态*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
    /**收款账号*/
    @Excel(name = "收款账号", width = 15)
    @ApiModelProperty(value = "收款账号")
    private java.lang.String shroffAccountNumber;
    /**利息支付方式 1-客户、2-核心企业*/
    @Excel(name = "利息支付方式 1-客户、2-核心企业", width = 15)
    @ApiModelProperty(value = "利息支付方式 1-客户、2-核心企业")
    private java.lang.Integer interestPayer;
    /**结息方式*/
    @Excel(name = "结息方式", width = 15)
    @ApiModelProperty(value = "结息方式")
    private java.lang.Integer interestSettlementWay;
    /**结息日*/
    @Excel(name = "结息日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结息日")
    private java.util.Date interestExpiryTime;
    /**核心企业还款账户*/
    @Excel(name = "核心企业还款账户", width = 15)
    @ApiModelProperty(value = "核心企业还款账户")
    private java.lang.String ceRepaymentAccount;
    /**核心企业还款账户名称*/
    @Excel(name = "核心企业还款账户名称", width = 15)
    @ApiModelProperty(value = "核心企业还款账户名称")
    private java.lang.String ceRepaymentAccountName;
    /**核心企业还款账户开户行*/
    @Excel(name = "核心企业还款账户开户行", width = 15)
    @ApiModelProperty(value = "核心企业还款账户开户行")
    private java.lang.String ceRepaymentAccountBank;
    /**
     * 融资率
     */
    @Excel(name = "融资率", width = 15)
    @ApiModelProperty(value = "融资率")
    private java.math.BigDecimal financingRate;

}
